package org.jeecg.modules.cusstyle.vo;

import java.io.Serializable;
import java.util.List;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.cusstyle.entity.CusStyleAccessoryInfo;
import org.jeecg.modules.cusstyle.entity.CusStyleElectroplateInfo;
import org.jeecg.modules.cusstyle.entity.CusStyleOtherInfo;
import org.jeecg.modules.cusstyle.entity.CusStyleStoneInfo;
import org.jeecg.modules.cusstyle.entity.CusStyleSuitInfo;
import org.jeecg.modules.cusstyle.entity.CusStyleWorkingProcedure;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Description: 款式资料
 * @Date:   2021-09-13
 * @Version: V1.0
 */
@Data
@ApiModel(value="style_infoPage对象", description="款式资料")
public class CusStyleInfoPage implements Serializable {

	private static final long serialVersionUID = 1L;
	/**主键*/
	@ApiModelProperty(value = "主键")
    private java.lang.String id;
	
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	
	/**款式图片*/
	@Excel(name = "款式图片", width = 15)
	@ApiModelProperty(value = "款图")
    private java.lang.String styleImageString;
	
	/**款号*/
	@Excel(name = "款号", width = 15)
	@ApiModelProperty(value = "款号")
    private java.lang.String codeNum;
	
	/**款式分类*/
	@Excel(name = "款类", width = 15, dicCode = "style_type")
    @Dict(dicCode = "style_type")
	@ApiModelProperty(value = "款类")
    private java.lang.Integer styleCate;
	
	/**款名*/
	@Excel(name = "款名", width = 15)
	@ApiModelProperty(value = "款名")
    private java.lang.String name;
	
	/**客户*/
	@Excel(name = "客户", width = 15, dictTable = "customer_info", dicText = "cus_name", dicCode = "id")
    @Dict(dictTable = "customer_info", dicText = "cus_name", dicCode = "id")
	@ApiModelProperty(value = "客户")
    private java.lang.String customerInfoId;
	
	/**净金重（头版金重)*/
	@Excel(name = "净金重", width = 15)
	@ApiModelProperty(value = "净金重")
    private java.math.BigDecimal goldWeight;
	
	/**净银重（银版重）*/
	@Excel(name = "净银重", width = 15)
	@ApiModelProperty(value = "净银重")
    private java.math.BigDecimal silverModelWeight;
	
	/**蜡重（蜡版重）*/
	@Excel(name = "蜡重", width = 15)
	@ApiModelProperty(value = "蜡重")
    private java.math.BigDecimal waxModelWeight;
	
	/**石重*/
    @Excel(name = "石重", width = 15)
    @ApiModelProperty(value = "石重")
    private java.math.BigDecimal pureStoneWeight;
    
    /**连石重*/
    @Excel(name = "连石重", width = 15)
    @ApiModelProperty(value = "连石重")
    private java.math.BigDecimal withStoneWeight;
    
	/**耗率(%)*/
	@Excel(name = "耗率(%)", width = 15)
	@ApiModelProperty(value = "耗率(%)")
    private java.math.BigDecimal attritionRate;
	
	/**单价*/
	@Excel(name = "单价", width = 15)
	@ApiModelProperty(value = "单价")
    private java.math.BigDecimal unitPrice;
	
	/**工费*/
	@Excel(name = "工费", width = 15)
	@ApiModelProperty(value = "工费")
    private java.math.BigDecimal labourCost;
	
	/**电镀费*/
	@Excel(name = "电镀费", width = 15)
	@ApiModelProperty(value = "电镀费")
    private java.math.BigDecimal electroplateCost;
	
	/**规格/手寸*/
	@Excel(name = "规格/手寸", width = 15)
	@ApiModelProperty(value = "规格/手寸")
    private java.lang.String styleSize;
	
	/**长度*/
	@Excel(name = "长度", width = 15)
	@ApiModelProperty(value = "长度")
    private java.math.BigDecimal length;
	/**宽度*/
	@Excel(name = "宽度", width = 15)
	@ApiModelProperty(value = "宽度")
    private java.math.BigDecimal width;
	
	/**胶膜号*/
	@Excel(name = "胶膜号", width = 15)
	@ApiModelProperty(value = "胶膜号")
    private java.lang.String modelNum;
	
	/**难度级别*/
	@Excel(name = "难度级别", width = 15, dicCode = "difficult_level")
    @Dict(dicCode = "difficult_level")
	@ApiModelProperty(value = "难度级别")
    private java.lang.Integer difficultLevel;
	
	/**款式系列*/
	@Excel(name = "款式系列", width = 15)
	@ApiModelProperty(value = "款式系列")
    private java.lang.String styleSeries;
	
	/**生产要求*/
	@Excel(name = "生产要求", width = 15)
	@ApiModelProperty(value = "生产要求")
    private java.lang.String productionRequirement;
	
	/**起版要求*/
	@Excel(name = "起版要求", width = 15)
	@ApiModelProperty(value = "起版要求")
    private java.lang.String platemakingRequirement;
	
	/**烤漆要求*/
	@Excel(name = "烤漆要求", width = 15)
	@ApiModelProperty(value = "烤漆要求")
    private java.lang.String paintRequirement;
	
	/**电镀要求*/
	@Excel(name = "电镀要求", width = 15)
    @ApiModelProperty(value = "电镀要求")
    private java.lang.String electroplateRequirement;
	
	/**包装要求*/
	@Excel(name = "包装要求", width = 15)
    @ApiModelProperty(value = "包装要求")
    private java.lang.String packRequirement;
	
	/**客户限重*/
	@Excel(name = "客户限重", width = 15)
    @ApiModelProperty(value = "客户限重")
    private java.lang.String cusLimitWeight;
	
	/**字印*/
	@Excel(name = "字印", width = 15)
    @ApiModelProperty(value = "字印")
    private java.lang.String mark;
	
	/**字印图片*/
	@Excel(name = "字印图片", width = 15)
	@ApiModelProperty(value = "字印图片")
    private java.lang.String markImageString;
	
	/**订单号*/
	@Excel(name = "订单号", width = 15,  dictTable = "order_info", dicText = "code_num", dicCode = "id")
    @Dict(dictTable = "order_info", dicText = "code_num", dicCode = "id")
	@ApiModelProperty(value = "订单号")
    private java.lang.String orderInfoId;
	
	/**成色*/
    @Excel(name = "成色", width = 15, dictTable = "gold_karat", dicText = "gold_karat_name", dicCode = "id")
    @Dict(dictTable = "gold_karat", dicText = "gold_karat_name", dicCode = "id")
    private java.lang.String goldKaratId;
    
    /**下单数量*/
    @Excel(name = "下单数量", width = 15)
    @ApiModelProperty(value = "下单数量")
    private java.lang.Integer count;
    
    /**做货数量*/
    @Excel(name = "做货数量", width = 15)
    @ApiModelProperty(value = "做货数量")
    private java.lang.Integer doCount;
    
    /**出货数量*/
    @Excel(name = "出货数量", width = 15)
    @ApiModelProperty(value = "出货数量")
    private java.lang.Integer shipmentCount;
    
    /**未出货数量*/
    @Excel(name = "未出货数量", width = 15)
    @ApiModelProperty(value = "未出货数量")
    private java.lang.Integer noShipmentCount;
    
    /**开单状态*/
    @Excel(name = "开单状态(0否1是)", width = 15, dicCode="yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "开单状态")
    private java.lang.Integer isOpen;
    
    /**出货状态*/
    @Excel(name = "出货状态(0待出货、20部分出货、21全部出货)", width = 15, dicCode="shipment_status")
    @Dict(dicCode = "shipment_status")
    @ApiModelProperty(value = "出货状态")
    private java.lang.Integer shipmentStatus;
    
    /**基础款式ID*/
	@Excel(name = "款号", width = 15)
    @ApiModelProperty(value = "款号")
	@Dict(dictTable = "style_info", dicText = "code_num", dicCode = "id")
    private java.lang.String parentStyleInfoId;

	@ExcelCollection(name="配石信息")
	@ApiModelProperty(value = "配石信息")
	private List<CusStyleStoneInfo> styleStoneInfoList;
	@ExcelCollection(name="配件信息")
	@ApiModelProperty(value = "配件信息")
	private List<CusStyleAccessoryInfo> styleAccessoryInfoList;
	@ExcelCollection(name="工序信息")
	@ApiModelProperty(value = "工序信息")
	private List<CusStyleWorkingProcedure> styleWorkingProcedureList;
	@ExcelCollection(name="电镀信息")
	@ApiModelProperty(value = "电镀信息")
	private List<CusStyleElectroplateInfo> styleElectroplateInfoList;
	@ExcelCollection(name="套件信息")
	@ApiModelProperty(value = "套件信息")
	private List<CusStyleSuitInfo> styleSuitInfoList;
	@ExcelCollection(name="其他信息")
	@ApiModelProperty(value = "其他信息")
	private List<CusStyleOtherInfo> styleOtherInfoList;

}
